<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		<script>
			function star (name,age){
				this.uname=name;
				this.uage=age;
				this.sing=function(){
					console.log("唱歌")
				}
				
			}
			var ldh =new star("刘德华",18)
			
//上面我们通过一个构造函数new了一个实例对象
//实例成员就是构造函数内部通过this添加的成员 uname age sing 就是实例成员，实例成员只能通过实例化对象来访问
//例如
  console.log(ldh.uname);
  ldh.eat=function(){
  	console.log("吃");
  };
  ldh.eat();
  ldh.sing();
  //我们也可以通过实例对象名来添加实例成员
  ldh.height=183;

			new Promise((resolve,reject)=>{
				  		setTimeout(()=>{
  							resolve();
  					},1000)
			}).then(()=>{
				  console.log(height);//这一步会报错，所以我们为了程序报错之后不会继续往下执行，所以我们它封装到计时器这个异步操作中，
				  							//为了复习一下promise所以我又把计时器封装到promise中
			})
			
//实例化成员不能通过构造函数名来访问实例成员

//静态成员就是在构造函数本身上添加的成员 例如下面的sex就是通过构造函数名添加的静态成员
star.sex ='男';
console.log(ldh.sex);//undefined
console.log(star.sex)//男
//静态成员只能通过构造函数来访问，不能通过实例对象来访问
		</script>
	</body>
</html>
